import { Completion } from '@codemirror/autocomplete';

export const autoJSCompletions: Completion[] = [
  // UI操作
  {
    label: 'click',
    type: 'function',
    detail: '点击坐标',
    info: '点击屏幕坐标(x, y)',
    apply: 'click(x, y)'
  },
  {
    label: 'longClick',
    type: 'function',
    detail: '长按坐标',
    info: '长按屏幕坐标(x, y)',
    apply: 'longClick(x, y)'
  },
  {
    label: 'press',
    type: 'function',
    detail: '按住坐标',
    info: '按住屏幕坐标(x, y, duration)',
    apply: 'press(x, y, duration)'
  },
  {
    label: 'swipe',
    type: 'function',
    detail: '滑动',
    info: '从坐标(x1, y1)滑动到(x2, y2)',
    apply: 'swipe(x1, y1, x2, y2, duration)'
  },
  // 控件操作
  {
    label: 'text',
    type: 'function',
    detail: '文本控件',
    info: '查找包含文本的控件',
    apply: 'text("文本")'
  },
  {
    label: 'desc',
    type: 'function',
    detail: '描述控件',
    info: '查找包含描述的控件',
    apply: 'desc("描述")'
  },
  {
    label: 'id',
    type: 'function',
    detail: 'ID控件',
    info: '查找指定ID的控件',
    apply: 'id("控件ID")'
  },
  // 基础功能
  {
    label: 'sleep',
    type: 'function',
    detail: '暂停',
    info: '暂停脚本执行指定毫秒',
    apply: 'sleep(1000)'
  },
  {
    label: 'toast',
    type: 'function',
    detail: '显示提示',
    info: '显示提示信息',
    apply: 'toast("提示信息")'
  },
  // 应用操作
  {
    label: 'launch',
    type: 'function',
    detail: '启动应用',
    info: '通过包名启动应用',
    apply: 'launch("包名")'
  },
  {
    label: 'launchApp',
    type: 'function',
    detail: '启动应用',
    info: '通过应用名启动应用',
    apply: 'launchApp("应用名")'
  },
  {
    label: 'openAppSetting',
    type: 'function',
    detail: '应用设置',
    info: '打开应用设置页面',
    apply: 'openAppSetting("包名")'
  },
  // 设备操作
  {
    label: 'home',
    type: 'function',
    detail: '返回主页',
    info: '按下Home键',
    apply: 'home()'
  },
  {
    label: 'back',
    type: 'function',
    detail: '返回',
    info: '按下返回键',
    apply: 'back()'
  },
  // 日志
  {
    label: 'log',
    type: 'function',
    detail: '输出日志',
    info: '输出日志信息',
    apply: 'log("日志信息")'
  },
  {
    label: 'console.log',
    type: 'function',
    detail: '控制台日志',
    info: '输出控制台日志',
    apply: 'console.log("日志信息")'
  },
  // 常用对象
  {
    label: 'auto',
    type: 'keyword',
    detail: 'Auto对象',
    info: 'AutoJS的全局对象',
  },
  {
    label: 'device',
    type: 'keyword',
    detail: '设备对象',
    info: '设备相关操作对象',
  },
  {
    label: 'files',
    type: 'keyword',
    detail: '文件对象',
    info: '文件操作对象',
  }
]; 